package com.plian.system.service.dsh;

import com.plian.system.dto.dsh.DshStaffManagementDTO;
import com.plian.system.entity.dsh.DshStaffManagement;
import com.plian.system.excel.ImportResult;
import com.plian.system.model.R;
import com.plian.system.mybatis.base.BaseService;
import com.plian.system.vo.dsh.DshStaffManagementVO;
import com.plian.system.vo.report.ReportReturnVO;

import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.concurrent.Future;

/**
 * 监事会 服务类
 *
 * @author gangan
 * @since 2019-11-12
 */
public interface IDshStaffManagementService extends BaseService<DshStaffManagement> {

    /**
     * 监事会统计接口
     * @param supervisorDTO
     * @return
     */
    ReportReturnVO report(DshStaffManagementDTO supervisorDTO);

    /**
     * 保存
     * @param supervisor
     * @return
     */
    R submit(DshStaffManagement supervisor);

    /**
     * 填充员工档案信息
     * @param supervisorVO
     * @return
     */
    R<DshStaffManagementVO> getDetailObj(DshStaffManagementVO supervisorVO);


    Future<ImportResult> importExcel(String progressId, InputStream inputStream, Boolean isCover);

    void exportTemplateExcel(HttpServletResponse response, OutputStream os);

    String exportImportFile();

    void download(String key, HttpServletResponse response);
}
